Processing of documents is often associated with certain conditions or requirements that a user desires to be observed while the processing takes place. When the processing of the document takes place at a location that is remote from the originator of the document and the user desires certain conditions or requirements to be observed, a mechanism should be in place to ensure that these certain desired conditions are observed.
As an example, in a secure check printing scenario, check disbursement information is received by a workflow controller via a network, printed in a secure location on a certain secure printer, inserted into envelopes, addressed, sealed, stamped, and mailed. During the processing, the requirement that the processing takes place in a secure location, perhaps monitored by properly vetted personnel is important to the issuer of the document.
Many other, similar, examples exist. Documents often need to be processed in a way that is sensitive to the location where the documents are processed. The documents may need to be processed with rigid schedule constraints or with constraints on the use of expensive resources.
Processing of documents may require more than one device or process step to occur. In order to properly process a document, the document is often first submitted to a workflow controller that plans the sequence of devices and process steps that are to take place. The workflow plan must take into account the unique requirements that are imposed on the document processing. Furthermore, the workflow must ensure that each device or process step satisfies the unique requirements attached to the document.
However, during the processing of a document with a set of unique requirements, a failure of one or more of the processing elements may occur. In such a case, the workflow must be re-planned to account for the failure. Such a re-plan of the workflow must ensure that any replacement processing elements also meet the unique requirements.
For example, a document could require that the processing takes place in a secure location with personnel having proper levels of security clearance. If, during processing, a secure printer fails, the workflow controller looks for other devices that could perform the job of printing. The workflow controller verifies if the replacing device has sufficient rights to be included into the workflow; i.e., if the replacing device is also a secure printer with similar capabilities, the replacing device is located in a secure facility, the operator(s) of the replacing device have the necessary security clearance; and that the replacing device is not just any other printer. The capability matcher may also verify that the replacing device is indeed located in a certified secure environment if the replacing device happens to be geographically located at another place.
Therefore, it would be desirable to have a process that accepts a document with an attached rights specification identifying constraints on the processing of the document, submits the document to a workflow controller for processing, where the workflow controller selects candidate devices for processing, and, for each candidate device, the workflow controller determines if the device meets the rights specification. It would also be desirable for the process to assign a set of devices to process the document from the set of devices that meet the rights specification requirements, to submit the document to the selected devices, and further upon failure of one of the selected devices, the workflow controller selects one or more alternative devices, wherein all alternative devices meet the rights specification requirements before submitting the document to the revised workflow.